Bandwidth On-Demand Services in Multiple Layer Networks

ABSTRACT

Bandwidth usage for an existing communication tunnel between a first device and second device is monitored. A determination is made that additional bandwidth is required for communication between the first network device and the second network device. A determination is made that for the addition of the additional bandwidth would exceed available bandwidth for the existing tunnel. Additional bandwidth is established between the first network device and the second network device.

PRIORITY CLAIM

This application claims the benefit of Provisional Application No. 61/729119, filed Nov. 21, 2012, the contents of which are hereby incorporated by reference.

TECHNICAL FIELD

The present disclosure relates to computer networks, and in particular, multilayer computer networks.

BACKGROUND

Network infrastructures may employ multiple layer networks. For example, a network may comprise both an Internet Protocol (IP) network layer, as well as an optical network layer. Often, the separate network layers will exhibit different bandwidth availability at a particular time and for a particular application.

Multiprotocol Label Switching (MPLS) is a mechanism in high-performance networks that directs data from one network node to the next based on short path labels rather than long network addresses, avoiding complex lookups in a routing table. The labels identify virtual links (paths) between distant nodes rather than endpoints. MPLS can encapsulate packets of various network protocols. The Generalized Multi-Protocol Label Switching (GMPLS) is a protocol suite extending MPLS to manage further classes of interfaces and switching technologies other than packet interfaces and switching, such as time division multiplex, layer-2 switch, wavelength switch and fiber-switch.

A path computation element (PCE) is a system component, application, or network node that is capable of determining and finding a suitable route for conveying data between a source and a destination. In MPLS and GMPLS networks, the PCE is used to determine the path through the network that traffic should follow, and provides the route for each Label Switch Path (LSP) that is set up. A PCE might be a network node, network management station, or dedicated computational platform that is resource-aware and has the ability to consider multiple constraints for sophisticated path computation.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a network environment configured to provide bandwidth on demand services in a network having multiple layers.

FIG. 2 is a flowchart illustrating a process for providing bandwidth on-demand services.

FIG. 3 illustrates an example network environment and the accompanying network processes utilized in providing bandwidth on-demand services.

FIG. 4 illustrates a second example network environment and the accompanying network processes utilized in providing bandwidth on-demand services.

FIG. 5 illustrates a third example network environment and the accompanying network processes utilized in providing bandwidth on-demand services.

FIG. 6 is a block diagram of a network device configured to provide bandwidth on-demand services.

DESCRIPTION OF EXAMPLE EMBODIMENTS Overview

Bandwidth usage for an existing communication tunnel between a first device and second device is monitored. A determination is made that additional bandwidth is required for communication between the first network device and the second network device is received. A determination is made that the addition of the additional bandwidth would exceed available bandwidth for the existing tunnel. Additional bandwidth is established between the first network device and the second network device.

Example Embodiments

With reference made to FIG. 1, depicted therein is a network environment 100 comprising a first network layer 105 and a second network layer 110 which are in communication with each other through network layer interfaces 115 a-c. Other example networks may include three or more network layers.

According to example network environment 100, the first network layer 105 may be an Open System Interconnection (OSI) model layer 3 network such as an internet protocol (IP), or packet network. First network layer 105 includes multiple routers 120 a-e interconnected through network links 122 a-d. The second network layer 110 may be an optical network which resides at the OSI layer 0, and includes multiple optical nodes 125 a-c interconnected through optical links 127 a-c. Accordingly, the routers 120 a-e can intercommunicate, as can optical nodes 125 a-c. Furthermore, the first network layer 105 routers 120 a-e can communicate with the second network layer 110 optical nodes 125 a-c through network layer interfaces 115 a-c.

While a layer 3 network layer is combined with an optical network layer in network environment 100, other example network environments are not limited to specific OSI layers, or network technology. For example, other example network environments may comprise OSI layer-2 networks combined with IP or layer 3 networks.

Also illustrated in FIG. 1 is stateful network device 130. According to the specific example of FIG. 1, network device 130 is a stateful path computation element (PCE). As used herein “stateful” refers to a device that is capable of tracking activity in a network, such as one or both of network layers 150 and 110. A stateful device not only tracks the amount of traffic in a network, but also tracks the source and destination of the traffic. Accordingly, if router 120 a is communicating with router 120 b through router 120 d, stateful PCE 130 would be “aware” of the amount of traffic between routers 120 a and 120 b, the source and destination of the traffic, and the path for the traffic. While a single PCE 130 is illustrated in FIG. 1, the techniques described herein may be implemented in multiple cooperating PCEs.

Included in PCE 130 is bandwidth on-demand functional unit 135, which is configured to provide on-demand bandwidth for communications between one or more of routers 120 a-e and optical nodes 125 a-c. For example, two of routers 120 a-e may be communicating through a communication tunnel passing through one or more network links 122 a-d. Additional bandwidth for the communication may be required that exceeds the abilities of the maximum bandwidth of the current communication tunnel. Bandwidth on demand functional unit 135 is configured to provide additional, on-demand bandwidth as described below in reference to FIGS. 2-5.

With reference now made to FIG. 2, depicted therein is a flowchart 200 illustrating a process for providing on-demand bandwidth between two or more network devices. The process begins in 205 where bandwidth usage for an existing communication tunnel between a first network device and a second network device is monitored. The monitoring may take place, for example, at a stateful network device, such as a PCE. A stateful PCE is configured to monitor current network communication tunnels. A non-stateful PCE, on the other hand, will simply calculate a network path in response to a request without any further monitoring of the communications.

In 210, a determination is made that additional bandwidth is required for communication between the network device and the second network device. According to one example, and as described below with reference to FIGS. 3-5, a request for additional bandwidth for communication between the first network device and the second network device may be received at a PCE. According to other examples, a stateful PCE will be able to determine when additional bandwidth is needed based on its monitoring of the communications between the first device and second device. In other words, the stateful PCE may trigger the addition of bandwidth, as described below with reference to blocks 215 and 220, without relying on receipt of an outside request.

In 215, a determination is made that the addition of the additional bandwidth would exceed the available bandwidth in the existing communication tunnel. For example, if a communication tunnel is using 7 gigabytes of bandwidth over 10 gigabyte network links, a request for an additional 8 gigabytes of bandwidth could not be fulfilled over the established communication tunnel. Remaining with the example of the stateful PCE, because the stateful PCE monitors the communications between the two network devices, it can perform the calculations necessary to determine whether or not the current communication tunnel is capable of providing the requested bandwidth. A non-stateful PCE, on the other hand, would not be aware that the existing tunnel is in use, much less, the current bandwidth utilization of the existing tunnel. Accordingly, a non-stateful PCE could not easily determine whether or not the request for additional bandwidth could be met by the network links utilized by the existing tunnel.

According to other examples, the established communication tunnel may communicate through networks links which can handle additional bandwidth, even though the bandwidth allocation for the established communication tunnel is less than the bandwidth needed for the communications between the first device and the second device. A stateful PCE may determine that the bandwidth necessary for communication exceeds the bandwidth allocation for the existing communication tunnel.

Finally, in 220, additional bandwidth is established between the first network device and the second network device. For example, an additional communication tunnel may be established between the first device and the second device in order to fulfill the bandwidth request received in 210. The additional communication tunnel may span two or more network layers, as shall be described below in reference to FIGS. 3-5. According to other examples, the bandwidth allocation for the existing communication tunnel may be expanded.

Turning now to FIG. 3, depicted therein is an illustration of providing additional bandwidth through an additional communication tunnel which spans more than one network layer. As illustrated, a network environment similar to that of FIG. 1 is depicted, and therefore, like reference numerals have been used to refer to like elements.

Initially in FIG. 3, an existing communication tunnel 305 has been established between router 120 a and router 120 b. Specifically, existing tunnel 305 comprises network link 122 a, router 120 d and network link 122 c. According to the example of FIG. 3, each network link 122 a-d is a 10 gigabyte link. Accordingly, if the communications between router 120 a and 120 b require 7 gigabytes of bandwidth, communication tunnel 305 is sufficient to handle the bandwidth requirements.

PCE 130 monitors the communications over communication tunnel 305 until bandwidth request message 310 is received by PCE 130 from router 120 a. If request message 310 is a message requesting an additional 2 gigabytes of bandwidth, PCE 130 may respond by expanding existing communication tunnel 305. Specifically, because links 122 a and 112 b are 10 gigabyte links, and a total of 9 gigabytes is needed (the existing 7 gigabytes plus the additional 2 gigabytes), PCE may be to determine that existing communication tunnel may be expanded to accommodate the additionally requested bandwidth. On the other hand, if request message 310 requests an additional 8 gigabytes of bandwidth for communication between router 120 a and router 120 b, network links 122 a and 122 b are incapable of supporting a total bandwidth of 15 gigabytes.

Because PCE 130 is stateful, and has been monitoring existing tunnel 305, PCE 130, and bandwidth on demand functional unit 135 in particular, is aware that tunnel 305 is incapable of fulfilling the request for an additional 7 gigabytes of bandwidth as requested in request message 310. Accordingly, bandwidth on demand functional unit 135 will send message 315 to router 120 a, providing a path for an additional communication tunnel 325 through second network layer 110.

If PCE 130 is aware of the topology of both first network layer 105 and second network layer 110, message 315 sent by bandwidth on-demand functional unit 135 may explicitly define the entire path from router 120 a to router 120 b through the second network layer 110. For example, if router 120 a and router 120 b communicate according to a label switched path (LSP) protocol, such as Multiprotocol Label Switching (MPLS) or Generalized Multiprotocol Label Switching (GMPLS), and PCE 130 is aware of the topology of second network layer 110, message 315 may include the entire LSP from router 120 a to 120 b. Specifically, message 315 may explicitly define the path for tunnel 325 which includes network layer interface 115 a, optical node 125 a, optical path 127 a, optical node 125 b, and network layer interface 115 b. Upon receiving message 315, router 120 a may establish a circuit for tunnel 325, and begin communicating through communication tunnel 325. Message 315 may take the form of an LSP “Create” message sent according to the Path Computation Element Protocol (PCEP). Specifically, message 315 may include an explicit route object (ERO) defining the path from router 120 a to router 120 b.

In order to establish tunnel 325, router 120 a may first send the LSP data to router 120 b, thereby establishing a circuit for tunnel 325. The sending of the LSP information to router 120 b may take the form of a Resource Reservation Protocol—Traffic Engineering (RSVP-TE) message. An RSVP-TE generally allows for the establishment of MPLS LSPs, taking into consideration network constraint parameters such as available bandwidth and explicit hops.

According to another example, the creation of tunnel 325 includes PCE 130 sending message 320 to router 120 b in addition to sending message 315 to router 120 a. Each of messages 315 and 320 include the LSP information necessary to establish tunnel 325 for a bi-directional GMPLS LSP.

When the establishment of bandwidth on demand communication tunnel 325 is implemented in a GMPLS environment, the techniques herein may extend the PCEP LSP Create Message with the LSP_TUNNEL_INTERFACE_ID Object. Specifically, the LSP_TUNNEL_INTERFACE_ID Object is configured to communicate LSP provisioning information from the ingress node (router 120 a) to the egress node (router 120 b).

When the single sided provisioning model is used (i.e. only message 315 is sent from PCE 130, and message 320 is not utilized) in which RSVP-TE signaling is implemented, an LSP Request Message with an LSP_TUNNEL_INTERFACE_ID object in the RSVP TE Path message is sent from router 120 a to router 120 b.

Once new communication tunnel 325 is established, PCE 130 will continue to monitor the communications between routers 120 a and 120 b. If the bandwidth requirements for the communications change, PCE 130 may dynamically alter one or more of the communication tunnels between routers 120 a and 120 b. For example, if the bandwidth demands remain above 10 gigabytes, but less than the 15 gigabytes currently reserved between tunnels 305 and 325, one or both of tunnels 305 and 325 may be reduced in size. Similarly, if the required bandwidth for the communications between router 120 a and 120 b drop below 10 gigabytes, the size of communication tunnels 305 and 325 may be altered, including the elimination of one of the tunnels. For example, if the bandwidth requirement for the communications between routers 120 a and 120 b is determined to be 9 gigabytes, communication tunnel 305 may be expanded to handle 9 gigabytes of bandwidth, and communication tunnel 325 may be eliminated. On the other hand, PCE 130 may accommodate the change by simply reducing the bandwidth allocation for tunnel 325 to 2 gigabytes without making any changes to the bandwidth allocation for tunnel 305. Similarly, PCE 130 may accommodate the change by simply reducing the bandwidth allocation for tunnel 305 to 1 gigabyte without making any changes to the bandwidth allocation for tunnel 325.

With reference now made to FIG. 4, unlike the example of FIG. 3, PCE 130 may only be aware of the topology of first network layer 105. For example, PCE 130 may be aware that network layer interfaces 115 a-c all connect to second network later 110, but PCE 130 is unaware of the underlying structure of second network layer 110. Specifically, PCE 130 would not be aware of the structure and arrangement of optical nodes 125 a-c and optical links 127 a-c.

PCE 130 may have partial awareness of network layer interfaces through signaling provided by routers 120 a-c, the routers connected to the second network layer 110 through network layer interfaces 115 a-c. Specifically, PCE 130 may be receiving minimal reachability information for the optical network. In particular, PCE 130 may learn the optical addresses associated with routers 120 a-c through one or more means. For example, routers 120 a-c may advertise or flood network layer 105 with messages indicating that routers 120 a-c have virtual interconnectivity. These signaling messages may include the optical addresses for routers 120 a-c. According to other examples, the optical addresses for routers 120 a-c may be tagged addresses in an intermediate to intermediate system (ISIS) network. In additional examples, the optical addresses for routers 120 a-c may be flooded to first network layer 105 as stabs in an Open Shortest Path First (OSPF) environment.

Accordingly, while the process of establishing on-demand bandwidth begins in a manner similar to that of FIG. 3, because PCE 130 is not aware of the full topology of second network layer 110, the determination of the path through second network layer 110 is accomplished through different means.

As with the example of FIG. 3, each network link 122 a-d in FIG. 4 is a 10 gigabyte link. Accordingly, if the communications between router 120 a and 120 b require 7 gigabytes of bandwidth, communication tunnel 305 is sufficient to handle the bandwidth requirements.

PCE 130 monitors the communications over communication tunnel 305 until bandwidth request message 310 is received by PCE 130 from router 120 a. Request message 310 requests an additional 8 gigabytes of bandwidth for communication between router 120 a and router 120 b. Just as described above in reference to FIG. 3, network links 122 a and 122 b of FIG. 4 are only 10 gigabyte links, and therefore, are incapable of supporting a total bandwidth of 15 gigabytes. Because PCE 130 is stateful, and has been monitoring existing tunnel 305, PCE 130, and bandwidth on-demand functional unit 135 in particular, is aware that tunnel 305 is incapable of fulfilling the request in message 310.

In response to message 310, bandwidth on demand functional unit 135 will send message 415 to router 120 a. But, unlike message 315 of FIG. 3, message 415 does not define an explicit path through second network layer 110. Instead, message 415 will include second network layer 110 addresses for router 120 a and router 120 b. Specifically, because router 120 a and router 120 b are connected to the second network layer 110 through network layer interface 115 a and network layer interface 11 b, respectively, routers 120 a and 120 b will have a second network layer 110 address, or an optical address, associated with them.

Upon receipt of message 415, in order to determine the path through second network layer 110, router 120 a may attempt to establish a successful path through a trial-and-error process. Specifically, router 120 a may send message 420 to optical node 125 a, which also includes the optical addresses for router 120 a and router 120 b. Upon receiving message 420, optical node 125 a can complete the path for the additional communication through, for example, signaling over the second network layer 110. Specifically, optical node 125 a may use GMPLS signaling to determine a path from network layer interface 115 a, through second layer network 110 and out network layer interface 115 b to router 120 b.

Specifically, optical node 125 a may send out or flood a plurality of signaling messages 422 a and 422 b, such as GMPLS signaling messages, to communicate with the other optical nodes in second network layer 110 in an attempt to find a path through second network layer 110 that can fulfill the bandwidth request made in message 310. Upon determining a successful path through the second network layer 110, communication tunnel 425 is established between router 120 a and router 120 b, and communication is commenced through second network layer 110.

As with the example of FIG. 3, PCE 130 will continue monitor the communications between router 120 a and 120 b, dynamically changing the bandwidth allocations for communication tunnels 305 and 425, as needed.

With reference now made to FIG. 5, depicted therein is another example network environment 500 which is configured to provide on-demand bandwidth between network devices. Network environment 500 is similar to network environment 100 of FIGS. 1, 3 and 4, and therefore, like reference numerals have been used to reference to like components. Network environment 500 differs from the previous examples in that an additional router, router 120 f, is included in network environment 500, as have been network links 122 e and 122 f. Furthermore, instead of communicating with router 120 b, router 120 a communicates with router 120 f through tunnel 505. As with the previous examples, the communications between router 120 a and 120 f initially require 7 gigabytes of bandwidth. Subsequently, a request 510 is sent from router 120 f to stateful PCE 130 requesting an additional 8 gigabytes of bandwidth, a request that cannot be fulfilled through 10 gigabyte links 122 a and 122 e as they are already providing 7 gigabytes of bandwidth through tunnel 505. Accordingly, PCE 130 will establish an on-demand tunnel through second network layer 110.

Unlike the example of FIG. 3, router 120 f is not located on the ingress or egress to second layer network 110. Furthermore, when message 515 is sent to router 120 f to establish a bandwidth on demand tunnel, message 515 does not include an explicit path for the new on-demand tunnel. This is because security and/or confidentiality concerns may prevent PCE 130 from explicitly defining the entire path through second layer network 110. Accordingly, included in message 515 is an ERO which defines the path from router 120 f to router 120 c, and one or more path keys which may be used by router 120 c and other subsequent nodes to determine the rest of the path through the first network layer 105 and the second network layer 110. A path key is used in place of a segment of the path of an LSP when the LSP is signaled, when the path of the LSP is reported by signaling, or when the LSP's path is generated by a PCE. This allows the exact path of the LSP to remain confidential through the substitution of confidential path segments (CPSs) by these path keys. Once received by the appropriate node, the node can translate the CPS into the next hop in the path.

Accordingly, message 515 may include an ERO which defines the hop from router 120 f to 120 c, and also includes three CPSs, one CPS for the hop from router 120 c to optical node 125 a, one CPS for the hop from optical node 125 c to optical node 125 a, and one CPS for the hop from optical node 125 a to router 120 a, each of which includes a path key. Furthermore, the portion of the ERO defining the path to router 120 c may be “loose,” meaning it is not explicitly defined by the ERO, and the routing devices along the path may determine the specific hops necessary to reach router 120 c.

Once received at router 120 c, the corresponding path key in the CPS in the LSP will be translated by node 120 c. Accordingly, the LSP will be signaled to optical node 125C where the next path key in the next CPS will be translated. This process will continue until the LSP has been signaled to router 120 a, at which time bandwidth on-demand communication tunnel 520 is established.

As with the examples of FIGS. 3 and 4, PCE 130 will continue monitor the communications between router 120 a and 120 b, dynamically changing the bandwidth allocations for communication tunnels 505 and 520, as needed.

Turning now to FIG. 6, depicted therein is an example block diagram of a network device, e.g., stateful network device 130 (e.g. a PCE), configured to perform the techniques described herein in connection with FIGS. 1-5. The stateful network device 130 comprises one or more network interface units 610 (e.g., network interface cards) to enable communication over a network, processor(s) 620, bus 630, and memory 640. The memory 640 contains software instructions for operating system 645 and bandwidth on-demand functional unit 135.

Memory 640 may comprise read only memory (ROM), random access memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physical/tangible (e.g., non-transitory) memory storage devices. The processor 620 is, for example, a microprocessor or microcontroller that executes instructions for stateful network device 130. Thus, in general, the memory 640 may comprise one or more tangible (non-transitory) computer readable storage media (e.g., a memory device) encoded with software comprising computer executable instructions and when the software is executed (by the processor 620), and in particular bandwidth on-demand functional unit 135, it is operable to perform the operations described herein in connection with FIGS. 1-5. Specifically, bandwidth on-demand functional unit 135 includes instructions that allow processor 620 to generate LSPs for bandwidth on-demand communication tunnels as described herein.

The techniques taught herein provide substantial benefits to multilayer network configurations. For example, the use of a stateful PCE is one of the components of the Software Defined Networks (SDN). Accordingly, the techniques taught herein are easily deployed within SDN networks. Furthermore, the techniques taught herein build on the existing PCE and RSVP-TE framework.

Furthermore, the techniques described herein address important problems faced by service providers, such as how to efficiently use and share spare bandwidth in the optical network and create services in an on-demand basis. By implementing the techniques described herein, networks with fewer resources can provide the same level of availability as networks with higher cost infrastructures.

The above description is intended by way of example only. 

What is claimed is:
 1. A method comprising: monitoring bandwidth usage for an existing communication tunnel between a first network device and a second network device; determining that additional bandwidth is required for communication between the first network device and the second network device; determining that providing the additional bandwidth would exceed available bandwidth for the existing communication tunnel; and establishing the additional bandwidth between the first network device and the second network device.
 2. The method of claim 1, wherein monitoring the existing communication tunnel comprises monitoring a communication tunnel in a first network layer, and wherein establishing the additional bandwidth comprises establishing an additional communication tunnel in a second network layer.
 3. The method of claim 2, wherein establishing the additional communication tunnel comprises establishing the additional communication tunnel via the second network layer that comprises an optical network.
 4. The method of claim 2, wherein establishing the additional communication tunnel comprises: determining a topology of the first network layer; determining a topology of the second network layer; and determining a path of the second tunnel according to the topology of the first network layer and the second network layer.
 5. The method of claim 2, wherein establishing the additional communication tunnel comprises sending a first message to a first layer device located at an ingress point of the second network layer indicating the path of the additional communication tunnel.
 6. The method of claim 5, wherein establishing the additional communication tunnel further comprises sending a second message to a first layer device located at an egress point on the second network layer indicating the path of the additional communication tunnel.
 7. The method of claim 6, wherein the first message and the second message are configured to cause the first layer device located at the ingress point and the first layer device located at the egress point to communicate through the second network layer to determine a path through the second network layer for the additional communication tunnel.
 8. The method of claim 6, wherein: sending the first message comprises sending a first GMPLS signaling message; and sending the second message comprises sending a second GMPLS signaling message.
 9. The method of claim 6, wherein the first message and the second message are configured to cause the first layer device located at the ingress point and the first layer device located at the egress point to communicate using GMPLS signaling messages.
 10. The method of claim 2 further comprising: sending a first explicit layer switched path (LSP) to the first network device for a portion of the additional communication tunnel from the first network device to a first layer device located at an ingress point of the second network layer; and sending a second explicit LSP to the second network device for a portion of the additional communication tunnel from the second network device to a first layer device located at an egress point of the second network layer.
 11. The method of claim 10 further comprising: sending a first path key to the first network device for a portion of the second tunnel from the first layer device located at the ingress point to the first layer device located at the egress point; and sending a second path key to the second network device for the portion of the second tunnel from the first layer device located at the egress point to the first layer device located at the ingress point.
 12. The method of claim 1, wherein establishing the additional bandwidth comprises establishing an additional communication tunnel in a same network layer as the existing network tunnel.
 13. The method of claim 1, wherein monitoring the bandwidth usage for the existing communication tunnel comprises monitoring at a stateful path computation element.
 14. The method of claim 1, further comprising: determining the bandwidth usage for the existing communication tunnel and the additional bandwidth exceed the actual communication between the first device and second device; and reducing bandwidth between the first network device and the second network device.
 15. An apparatus comprising a network interface unit configured to enable network communications; a memory; and a processor coupled to the network interface unit and the memory, wherein the processor is configured to: monitor bandwidth usage for an existing communication tunnel between a first network device and a second network device; determine that additional bandwidth is required for communication between the first network device and the second network device; determine that addition of the additional bandwidth would exceed available bandwidth for the existing tunnel; and establish the additional bandwidth between the first network device and the second network device.
 16. The apparatus of claim 15, wherein the processor is further configured to: monitor a communication tunnel in a first network layer; and establish an additional communication tunnel in a second network layer.
 17. The apparatus of claim 16, wherein the processor is further configured to: determine a topology of the first network layer; determine a topology of the second network layer; and determine a path of the second tunnel according to the topology of the first network layer and the second network layer.
 18. The apparatus of claim 17, wherein the processor is further configured to sending a first message to a first layer device located at an ingress point of the second network layer indicating the path of the additional communication tunnel.
 19. A tangible, non-transitory computer readable medium comprising instructions that when executed by a processor cause the processor to: monitor bandwidth usage for an existing communication tunnel between a first network device and a second network device; determine that additional bandwidth is required for communication between the first network device and the second network device; determine that addition of the additional bandwidth would exceed available bandwidth for the existing tunnel; and establish the additional bandwidth between the first network device and the second network device to fulfill the request.
 20. The computer readable medium of claim 19, wherein the instructions further cause the processor to: monitor a communication tunnel in a first network layer; and establish an additional communication tunnel in a second network layer. 